export default {
  data () {
    return {
      catList: [
        {
          cat_name: '电视',
          cat_deleted: '否',
          cat_level: 0
        }
      ],
      // 显示添加分类对话框
      dialogAddCatVisible: false,
      // 添加分类对象
      addCatForm: {
        // 分类名称
        cat_name: '',
        // 收集父级id
        cat_pid_arr: []
      },
      // 级联选择器的数据
      options: [
        {
          value: 'ziyuan',
          label: '资源',
          children: [
            {
              value: 'axure',
              label: 'Axure Components'
            },
            {
              value: 'sketch',
              label: 'Sketch Templates'
            },
            {
              value: 'jiaohu',
              label: '组件交互文档'
            }
          ]
        }
      ],
      defaultProps: {
        label: 'cat_name',
        value: 'cat_id'
      }
    }
  },
  created () {
    this.loadCatList()
    this.loadCatList2()
  },
  methods: {
    /**
     * 加载分类数据
     */
    async loadCatList () {
      let res = await this.$axios.get('categories', {
        params: {
          type: 3,
          pagenum: 1,
          pagesize: 4
        }
      })
      // cat_id: 1, cat_name: "大家电", cat_pid: 0, cat_level: 0, cat_deleted: false, …
      console.log(res)
      this.catList = res.data.data.result
    },
    /**
     * 获取2层的分类数据
     */
    async loadCatList2 () {
      let res = await this.$axios.get('categories', {
        params: {
          type: 2
        }
      })
      console.log(res)
      this.options = res.data.data
    },
    /**
     * 展示添加分类对话框
     */
    showAddCatDialog () {
      this.dialogAddCatVisible = true
    },
    /**
     * 添加分类
     */
    async addCat () {
      // 1. 先从添加分类对象里获取已知数据
      // eslint-disable-next-line
      const { cat_name, cat_pid_arr } = this.addCatForm

      // 2. 再发送请求
      let res = await this.$axios.post('categories', {
        cat_pid: cat_pid_arr[cat_pid_arr.length - 1], // 分类父 ID	不能为空  (数组的最后一个父id)
        cat_name, // 分类名称	不能为空
        cat_level: cat_pid_arr.length // 分类层级	不能为空  (级别 就是数组的长度)
      })
      console.log(res)
      // 关闭对话框
      this.dialogAddCatVisible = false
      // 刷新
      this.loadCatList()
      // 提示
      this.$message({
        message: '添加分类成功',
        type: 'success'
      })
    }
  }
}
